﻿#ifndef SETSTYLE_H
#define SETSTYLE_H

#include <QObject>
#include <QWidget>
#include "main.h"

//---------------------------------------
// 基准分辨率(1024*600)下的控件尺寸/位置

//--------------------
// 全局尺寸
#define GLB_SCR_WIGHT           (1024)    // 基础屏幕宽
#define GLB_SCR_HEIGHT          (600)     // 基准屏幕高
#define GLB_EDGE_WIGHT          (20)      // 控件距边间距
#define GLB_EDGE_HEIGHT         (24)      // 上下边缘
#define GLB_BAS_WIGHT           (12)      // 控件之间间距

#define GLB_ICON_TEXT           (6)       // 图标与图标文本间距
#define GLB_TEXT_HEIGHT         (20)      // 文本高度(中字体)
#define GLB_TEXT_L_HEIGHT       (32)      // 文本高度(大字体)
#define GLB_TEXT_S_HEIGHT       (16)      // 文本高度(小字体)

// 图标
#define GLB_LICON_SIZE          (54)      // 大图标尺寸
#define GLB_MICON_SIZE          (40)      // 中图标尺寸
#define GLB_SICON_SIZE          (16)      // 小图标尺寸

// 按钮宽高比 2.5:1
#define GLB_SBUT_WIGHT          (80)      // 小按钮宽度
#define GLB_SBUT_HEIGHT         (32)      // 小按钮高度

#define GLB_MBUT_WIGHT          (90)      // 中按钮宽度
#define GLB_MBUT_HEIGHT         (36)      // 中按钮宽度

#define GLB_LBUT_WIGHT          (100)     // 大按钮宽度
#define GLB_LBUT_HEIGHT         (40)      // 大按钮高度

// 参数窗口控件位置
#define GLB_PARA_LEFT           (152)     // 选项范围
#define GLB_PARA_TOP            (96)      //
#define GLB_PARA_WIGHT          (720)     //
#define GLB_PARA_HEIGHT         (53)      //

#define GLB_TAB_WIGHT           (24)     // 缩进




//---------------------------------------
// 窗体尺寸
double getFactoryX();       // 宽
double getFactoryY();       // 高

// 圆角
QString borderRadius();

// 字体
QFont fontSize_L();         // 大号字体(标题)
QFont fontSize_M();         // 中号字体(正文)
QFont fontSize_S();         // 小号字体(注释)

// 字体颜色
QString titleTextColour();                  // 标题栏文本字体颜色
QString titleTextColour_Green();                // 标题栏文本字体颜色-绿
QString titleTextColour_Red();                  // 标题栏文本字体颜色-红
QString titleTextColour_Yellow();               // 标题栏文本字体颜色-黄
QString mainIconTextColour();               // 主图标文本字体颜色
QString classIconTextColour();              // 分类图标文本字体颜色
QString stateTextColour();                  // 状态栏文本字体颜色
QString windowTitleTextColour();            // 弹窗标题栏文本字体颜色

QString warnTextColour();                   // 警示文本字体颜色
QString commonTextColour();                 // 普通文本字体颜色
QString noteTextColour();                   // 注释文本字体颜色
QString ledTextColour();                    // 传感器信号 指示灯颜色

// 绘图颜色
u32 getNoJumpColour();                      // 未缝制 跨步
u32 getJumpedColour();                      // 缝制后 跨步
u32 getNoSewColour();                       // 未缝制 缝纫针步
u32 getSewedColour();                       // 缝制后 缝纫针步

// 控件样式
QString textButtonStyle();                  // 文本按钮样式
QString headButtonStyle();                  // 机头间距按钮样式
QString numButtonStyle();                   // 数字按钮样式
QString mainIconStyle();                    // 主图标样式
QString classIconStyle();                   // 分类图标样式
QString confirmIconStyle();                 // 确认图标样式
QString flippingStyle();                 // 快捷按钮翻页
QString backIconStyle();                    // 返回图标样式
QString titleIconStyle(QString pic);        // 标题图标
QString optionsIconStyle();                 // 选项卡样式
QString progressStyle();                    // 进度条样式
QString transparentStyle();                 // 透明样式

class SetStyle : public QObject
{
    Q_OBJECT
public:
    explicit SetStyle(QObject *parent = 0);

private:
    QString m_uiName;//窗体名称

public:
    void setUiName(QString uiName);//设置窗体名称
    QString getStyleSheet(QString controlName);//获取普通按钮样式表
    QString getStyleSheet1(QString controlName);//获取样式表
    QString getBorderImageStyleSheet(QString controlName);//获取九宫格frame样式表
    QString getTopStyleSheet(QString controlName);//获取自定义按钮顶层样式表
    QString getBottomStyleSheet(QString parentName);//获取自定义按钮底层样式表
    QString getBottomStyleSheet1(QString parentName);//获取自定义按钮底层样式表

    QString getSharedStyleSheet();//获取普通按钮样式表
    QString getSharedTopStyleSheet(QString controlName);//获取自定义按钮顶层样式表
    QString getSharedBottomStyleSheet(QString parentName);//获取自定义按钮底层样式表

signals:

public slots:
};

#endif // SETSTYLE_H
